perm filename 122MS.F4[IRC,LCS] blob
sn#187346 filedate 1977-03-30 generic text, type T, neo UTF8
00001 C READS FROM 'ROWS'. WRITES 'QQQ.DAT' AND 'WWW.DAT' FOR MSS.
00005 COMMON JJ(12),KK(12),INT(12),X(13,13),ISCAL(12),ISC(12),
00030 1 INP2(72),INP(72),NRW
00055 1,IC(6),ISQ(25,25),NAME(10),INOT(49),IRNT(12)
00080 DATA ISCAL/'C','C#','D','D#','E','F','F#','G','G#',
00082 1 'A','A#','B'/
00086 1,ISC/'CN5','CS5','DN5','DS5','E5','FN4','FS4','GN4','GS4',
00091 1 'AN4','AS4','B4'/
00300 NRW='R'
00400 CALL RDWRT
00500 NM='QQQ'
00550 NM2='WWW'
00560 CALL OFILE(21,NM)
00580 CALL OFILE(22,NM2)
00900 K=0
00910 LQ=0
01000
01020 1 K=K+1
01040 2 L=INP2(K)
01060 IF(L.EQ.' ')GO TO 1
01080 DO 3 M=1,12
01100 IF(L.NE.ISCAL(M))GO TO 3
01120 LL=M
01140 K=K+1
01160 GO TO 4
01180 3 CONTINUE
01200 GO TO 1
01220 4 IF(INP2(K).NE.'S')GO TO 5
01230 LL=LL+1
01235 GO TO 7
01240 5 IF(INP2(K).NE.'F')GO TO 6
01250 LL=LL-1
01255 7 K=K+1
01260 6 LQ=LQ+1
01280 INT(LQ)=LL
01300 IF(LQ.EQ.12)GO TO 40
01320 GO TO 1
01700 C PUT NOTES INTO NUMB. FORM
01705 40 IZ=21
01800 K=INT(1)*2
01900 IRNT(1)=INT(1)
02000 DO 41 N=2,12
02100 MM=K-INT(N)
02200 IF(MM.LE.0)MM=MM+12
02210 IF(MM.GT.12)MM=MM-12
02250 41 IRNT(N)=MM
02260 DO 44 K=1,2
02280 DO 45 L=1,6
02300 DO 42 N=1,12
02400 KK(N)=ISC(INT(N))
02500 42 JJ(N)=ISC(IRNT(N))
02700 43 FORMAT('9 TR/',2(6(A3,'/'),'M;'/'9 '),'M/'
02725 1,2(6(A3,'/'),'M;'/'9 ')
02750 1,'M*',/,'9 1 X 24*'///)
02900 WRITE(IZ,43)KK,JJ
03000 DO 46 M=1,12
03400 CALL UPONE(M,INT)
03500 46 CALL UPONE(M,IRNT)
03600 45 CONTINUE
03700 44 IZ=22
03800 TYPE 47
03900 47 FORMAT(' FILES "QQQ.DAT" AND "WWW.DAT" WERE WRITTEN.'/
04000 1 ' DO "DO12MS.DO" FOR START OF PRINT PROCESS.')
04100 END
15000
15100 SUBROUTINE UPONE(M,INT)
15200 DIMENSION INT(1)
20000 MM=INT(M)+1
20100 IF(MM.GT.12)MM=MM-12
20200 INT(M)=MM
20300 END
20400
20500
20600 SUBROUTINE RDWRT
20700 C TO READ AND RWITE TONE-ROW LIBRARY FILE
20800 COMMON INV(12),IR(12),N(12),J(13,13),ISCAL(12),IS2(12),
20900 1 INP2(72),INP(72),NRW
21000 1,IC(6),ISQ(25,25),NAME(10),INOT(49),JA(12)
21100 15 TYPE 10
21200 ACCEPT 2,NM
21300 IF(NM.EQ.' ')NM='ROWS'
21400 IF(NRW.EQ.'R')GO TO 1
21500 CC IF(LOOKD(NM))GO TO 1
21600 C 'LOOKD' LOOKS FOR .DAT FILE -- 'LOOK' LOOKS FOR NO EXT.
21700 CALL OFILE(1,NM)
21800 WRITE(1,2)NAME
21900 WRITE(1,3)INP2
22000 END FILE 1
22100 RETURN
22200 2 FORMAT(10A5)
22300 3 FORMAT(72A1)
22400 5 FORMAT(1X10A5)
22500 6 FORMAT(/' DO YOU WANT THIS ONE? '$)
22600 7 FORMAT(I,10A5)
22700 8 FORMAT(I,72A1)
22800 10 FORMAT(' TYPE FILE NAME-- '$)
22900 11 FORMAT(' TYPE IDENTITY NAME '$)
23000 1 CALL IFILE(1,NM)
23100 TYPE 11
23200 I=-1
23300 ACCEPT 2,(INP(M),M=1,10)
23400 IF(INP(1).EQ.' ')GO TO 4
23500 C <CR> TO GO THROUGH ALL NAMES.
23600 NM=INP(1)+INP(2)
23700 I=0
23800 4 READ(1,7,END=9)M,NAME
23900 IF(M.LT.99)REREAD 2,NAME
24000 IF(NAME(1).EQ.' ')GO TO 4
24100 C SO IT WILL IGNORE BLANK LINES (1ST 5 CHARS.)
24200 IF(I)GO TO 12
24300 IF(NM.EQ.NAME(1)+NAME(2))GO TO 12
24400 M='N'
24500 GO TO 14
24600 12 TYPE 5,NAME
24700 13 TYPE 6
24800 ACCEPT 3,M
24900 14 READ(1,8)L,INP2
25000 IF(L.LT.99)REREAD 1,INP2
25100 IF(M.NE.'Y')GO TO 4
25200 RETURN
25300 9 TYPE 90
25400 90 FORMAT(' --- NAME NOT FOUND! -----'/)
25500 GO TO 15
25600 END